package com.caixin.domain.common;

/**
 * 基类仓储
 *
 * @author Administrator
 * @version 1.0.0
 * @createTime 2021年12月06日 19:31
 */
public interface BaseRepository<Agg, ID> {

    /**
     * 保存
     *
     * @param agg:
     * @return void
     * @date 2021年12月06日 19:35
     */
    void save(Agg agg);

    /**
     * 根据主键ID获取聚合
     *
     * @param id:
     * @return Agg
     * @date 2021年12月06日 19:36
     */
    Agg find(ID id);

    /**
     * 获取聚合全部
     *
     * @return Agg
     * @date 2021年12月06日 19:36
     */
    Agg findAll();

    /**
     * 根据ID删除聚合
     *
     * @param id:
     * @return void
     * @date 2021年12月06日 19:37
     */
    void delete(ID id);
}
